package main.od;

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class ComputerLast {
    public static void main(String[] args) {
        // [[1,3,2],[2,5,3],[5,6,2]]
        Scanner scanner = new Scanner(System.in);
        String line = scanner.nextLine();
        int index = line.indexOf("[");
        String[] split = line.substring(index + 2,line.length() - 2).replace("],[","#").split("#");
        int n = split.length;
        int[][] tasks = new int[n][3];
        // deal input
        for (int i = 0;i < n;i++){
            String[] tmp = split[i].split(",");
            tasks[i][0] = Integer.parseInt(tmp[0]);
            tasks[i][1] = Integer.parseInt(tmp[1]);
            tasks[i][2] = Integer.parseInt(tmp[2]);
        }
        // sorted by the end time of each task
        Arrays.sort(tasks, Comparator.comparingInt(a -> a[1]));
        // 以最后一个任务的结束时间为长度，创建一个:标记计算机在某时间点是否运行
        boolean[] run = new boolean[tasks[n - 1][1] + 1];
        int res = 0;

        for (int[] item : tasks){
            // start,end,period
            int start = item[0];
            int end = item[1];
            int period = item[2];
            // 从任务的结束时间开始遍历，减去已经运行掉的时间
            for (int i = end;i >= start && period > 0;i--){
                if (run[i]){
                    period--;
                }
            }
            // 如果该任务还需要额外的时间才能运行结束，优先开启靠结束时间近的时间点
            for (int i = end;i >= start && period > 0;i--){
                if (!run[i]){
                    run[i] = true;
                    period--;
                    res++;
                }
            }
        }
        // 统计运行的时间
        System.out.println(res);
    }
}
